/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Sebastian
 */
public class Cache {

    private List<ObjetoCache> objetos;
    private static Cache instancia;

    private Cache() {
    }

    public static synchronized Cache getInstancia() {
        if (instancia == null) {
            instancia = new Cache();
        }
        return instancia;
    }

    public void agregar(Agente objeto) {
        ObjetoCache ob = new ObjetoCache();
        ob.setObjeto(objeto);
        ob.setEstado(null);// ob.setEstado(new EstadoCache());
        getObjetos().add(ob);
    }

    public void quitar(Agente objeto) {
        for (ObjetoCache objetoCache : getObjetos()) {
            if (objetoCache.getObjeto().getOid().equals(objeto.getOid())) {
                getObjetos().remove(objetoCache);
            }
        }
    }

    public Agente buscar(String oid) {
        Agente resul = null;

        for (ObjetoCache objetoCache : getObjetos()) {
            if (objetoCache.getObjeto() != null && objetoCache.getObjeto() != null && 
                    objetoCache.getObjeto().getOid().equals(oid)) {
                resul = objetoCache.getObjeto();
            }
        }
        return resul;
    }
    
    
    // falta el manejo de estados

    public List<ObjetoCache> getObjetos() {
        if(objetos == null){
            objetos = new ArrayList<ObjetoCache>();
        }
        return objetos;
    }
}
